#include <stdio.h>


#define ADDR_SIZE (1024*64);
int main(){
	printf("Hellod ss ss\n");


	// here we add processor, resources, configure them (connect them somehow) and run it.
	CMemory *data_mem = new CMemory(10*ADDR_SIZE);
	CMemory *prog_mem = new CMemory(10*ADDR_SIZE);
	

	CProcessor *proc = new CProcessor();
	CTimeDivisionedCore *core = new CTimeDivisionedCore();
	proc->core = core;


	// Default commutator values set to MEMORY
	for(int i=0; i<10; i++){
		CComutator *data_com = new CComutator(ADDR_SIZE);
		CComutator *prog_com = new CComutator(ADDR_SIZE);

		for(int k=0; k<ADDR_SIZE; k++){
			data_com->addr_space[k] = data_mem + (i*ADDR_SIZE) + k;
			prog_com->addr_space[k] = prog_mem + (i*ADDR_SIZE) + k;
			
		}

		core->data_aspace[i] = data_com;
		core->prog_aspace[i] = prog_com;
	}

	proc->run();
	


	


	return 0;
}